A streaming media system is used to provide a user with instant playing of an audio and/or a video via the internet. The user communicates with a particular remote streaming media server via a client on a local computer, the remote streaming media server continuously transmits video and/or audio data in certain streaming media format to the client according to the request sent via the client by the user, and the client immediately parses the data according to the corresponding protocol upon receiving the data and presents the video and/or audio to the user.
Currently, the streaming media system in the internet market mainly includes a live system and an on-demand system. The live system provides the user with a real time data transmission service, in which the user can neither arbitrarily change the playing progress nor watch a certain video and/or audio at any time, and relatively low technical requirements are involved. While the on-demand system can perform the playing at any time and at any playback position as desired by the user, which of course results in the higher technical requirements.
As shown in FIG. 1, the streaming media system in the prior art includes two components: a streaming media server and clients.
The main function of the streaming media server is to collect, cache, schedule and transfer media contents, the main performance of the streaming media system depends on the performance and the quality of service of the streaming media server. Therefore, the streaming media server is the basis and a main part of the streaming media system. The streaming media server may interact with the client to satisfy the request from the client, and transmit the sequential streaming media data in a certain format to the client via a network.
The main function of the client is to establish close contact between the user and the streaming media server. The client may transfer a request to the streaming media server after receiving an instruction from the user; further, the client may receive data from the streaming media server, and play the video and/or audio data via a player after parsing the data according to a certain protocol, so that the user may enjoy the playing effect.
When the whole streaming media system is established, the system generally is provided with one streaming media server or one group of streaming media servers acting as the provider of streaming media data. When a request instruction is transmitted from a client, the streaming media server receives the request instruction and then encodes the streaming media data required by the client at a certain code rate through computing, and transmits the streaming media data to all the clients requesting this streaming media resource through a streaming media transmission protocol, such as Real-Time Streaming Protocol (RTSP). The client may monitor the network, and after receiving sufficient streaming media data transmitted from the streaming media server, the client decodes and plays back the streaming media data, i.e., restores the streaming media data to the audio and/or video information for playing.
However, in the streaming media system in the prior art, when a large number of users request for the same media file simultaneously during the data transmission service, the same streaming media server is accessed, thus resulting in excessive bandwidth pressure on the streaming media server, so that the streaming media server is unable to provide a smooth and clear media streaming for the user, and hence the user experience is decreased, further, it is necessary to increase the number and bandwidth of the streaming media servers when the number of users rapidly increases, so that the cost is increased.